package com.cuit.zuke.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cuit.zuke.common.util.PageUtil;
import com.cuit.zuke.system.entity.SysLogEntity;
import org.omg.CORBA.SystemException;
import org.springframework.scheduling.annotation.Async;

import java.util.List;
import java.util.Map;

/**
 * @program: zuke
 * @description: 系统日志服务接口
 * @author: KamTang
 * @create: 2022-04-15 14:58
 **/
public interface SysLogService extends IService<SysLogEntity> {
    /**
     * 异步保存操作日志
     * @param log 日志
     */
    @Async("CodeAsyncThreadPool")
    void saveLog(SysLogEntity log);


    /**
     * 删除登入日志
     * @param id id
     * @exception SystemException
     */
    void delete(Long id) throws SystemException;


    /**
     * 日志列表
     * @param params 参数列表
     * @return
     */
    PageUtil findLogList(Map<String, Object> params);

    /**
     * 批量删除登入日志
     * @param ids ids
     * @exception SystemException
     */
    void deleteBatch(Long[] ids) throws SystemException;
}
